/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.techopropio.bfh.service;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.techopropio.bfh.dao.Conexion;
import com.techopropio.bfh.model.Evaluador;
import com.techopropio.bfh.model.JefeFamilia;
import com.techopropio.bfh.model.Usuario;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Home
 */
public class UsuarioDAOImpl implements UsuarioDAO{
    Usuario usuario = null;
       @Override
    public Usuario find(String login, String password) {  
        
        try {
            Connection conn = Conexion.obtenerConnexion();
            
            PreparedStatement ps =   (PreparedStatement) conn.prepareStatement("select *  from usuario where login=? "+ 
                         " and password = ? " );
                ps.setString(1, login);
                ps.setString(2, password);

                ResultSet rs=ps.executeQuery();
                if(rs.next()){
                usuario = new Usuario();
                
                usuario.setRol(rs.getString("rol"));
                if(usuario.getRol().equals("evaluador")){
                    usuario = new Evaluador();
                    usuario.setId(rs.getInt("idUsuario"));
                    usuario.setRol(rs.getString("rol"));
                    usuario.setLogin(rs.getString("login"));
                    usuario.setNombres(rs.getString("nombre"));
                    usuario.setApellidoM(rs.getString("apellidoM"));
                    usuario.setApellidoM(rs.getString("apellidoP"));
                    usuario.setDni(rs.getString("dni"));
                }else if(usuario.getRol().equals("jefeFamilia")){
                    JefeFamilia usuario2 = new JefeFamilia();
                    usuario2.setRol(rs.getString("rol"));
                    usuario2.setId(rs.getInt("idUsuario"));
                    usuario2.setLogin(rs.getString("login"));
                    usuario2.setNombres(rs.getString("nombre"));
                    usuario2.setApellidoM(rs.getString("apellidoM"));
                    usuario2.setApellidoP(rs.getString("apellidoP"));
                    usuario2.setDni(rs.getString("dni"));
                    usuario2.setFechaNac(rs.getDate("fechaNacimiento"));
                    usuario = usuario2;
                }
            }else{
                System.out.println("Error de conexion en la BD");
            }
            
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return usuario;
    }
}
